// 定义接口
interface IPerson {
  name: string
  age: number
  friend?: {
    name: string
  }
}

const info: IPerson = {
  name: "why",
  age: 19
}

// 访问属性：使用可选链 ?.
console.log(info.friend?.name)

// 属性赋值：
// info.friend?.name = "Kobe"
// 语法报错，属性不能使用可选链

// 解决方案1： 类型缩小
if(info.friend) {
  info.friend.name = "Kobe"
}

// 解决方案2： 非空类型断言(有点危险，只有确保friend一定有值的情况下使用)
info.friend!.name = "james"

export {}